package com.yzkj.cpjxc.business.service;

import com.yzkj.cpjxc.business.framework.common.BusinessMap;
import com.yzkj.cpjxc.business.framework.common.Pager;
import com.yzkj.cpjxc.business.domain.JieZhang;
import com.yzkj.cpjxc.business.domain.JieZhangQueryVo;
import com.yzkj.cpjxc.business.domain.ZhangTao;

/**
 * 结账 Service 接口
 */
public interface JieZhangService {

	/**
	 * 获取查询分页对象
	 * 
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param pager
	 * @param queryVo
	 * @return
	 * @throws Exception
	 */
	public Pager<JieZhang> search(Pager<JieZhang> pager, JieZhangQueryVo queryVo) throws Exception;

	/**
	 * 新增结账
	 * 
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param jieZhang
	 * @return
	 * @throws Exception
	 */
	public BusinessMap create(JieZhang jieZhang) throws Exception;
	
	/**
	 * 结账操作新增
	 * 
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param jieZhang,jz,zt
	 * @return
	 * @throws Exception
	 */
	public BusinessMap createJieZhang(JieZhang jieZhang, JieZhang jz, ZhangTao zt) throws Exception;

	/**
	 * 判断是否存在
	 * 
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param jieZhang 结账
	 * @return
	 * @throws Exception
	 */
	public boolean isExists(JieZhang jieZhang) throws Exception;

	/**
	 * 根据ID获取结账
	 * 
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param uuid
	 * @return
	 * @throws Exception
	 */
	public JieZhang getById(String uuid) throws Exception;

	public JieZhang getByZhangTaoId(String zhangTaoId) throws Exception;

	/**
	 * 编辑结账
	 * 
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param jieZhang 结账
	 * @return
	 * @throws Exception
	 */
	public BusinessMap edit(JieZhang jieZhang) throws Exception;

	/**
	 * 根据ID删除结账
	 * 
	 * @creator: shenghe.he
	 * @modifier:
	 * @modifiedDate:
	 * @param uuid
	 * @return
	 * @throws Exception
	 */
	public boolean delete(String uuid) throws Exception;

}
